package com.cleaningcloud.cld.domain.vo;

import com.cleaningcloud.cld.domain.CldAttendance;
import com.cleaningcloud.cld.domain.CldOvertimeDetails;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class CldOvertimeDetailsVo extends CldOvertimeDetails {
    // 员工ID组
    private String[] staffIds;
    // 项目id
    private Long projectId;
    // 调出项目
    private Long newProjectId;
    // 项目名称
    private String projectName;
    // 调出项目
    private String outProjectName;
    // 加班金额
    private BigDecimal overtimeMoney;
    // 员工姓名
    private String staffName;
    // 联系电话
    private String staffPhone;
    // 身份证
    private String staffIdcard;
    // 岗位
    private Long projectPostName;
    // 项目岗位ID
    private Long projectPostId;
    // 性别
    private String staffSex;
    // 职务
    private Long projectDuitsName;
    // 小组
    private Long groupName;
    // 审核人姓名
    private String examineUserName;
    // 审核时间
    private Date examineTime;
    /**
     * 加班开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 加班结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    // 加班类型
    private Long overtimeType;
    // 金额类型
    private Long overtimeCategory;

    // 考勤打卡
    private List<CldAttendance> attList;

    // 是否本项目加班(0否1是)
    private Integer isInThisProject;
    // 本项目加班上班时间
    @JsonFormat(pattern = "HH:mm:ss")
    private Date thisStartTime;
    // 本项目加班下班时间
    @JsonFormat(pattern = "HH:mm:ss")
    private Date thisEndTime;
    // 是否外项目加班(0否1是)
    private Integer isOutExtProject;
    // 外项目加班上班时间
    @JsonFormat(pattern = "HH:mm:ss")
    private Date extStartTime;
    // 外项目加班下班时间
    @JsonFormat(pattern = "HH:mm:ss")
    private Date extEndTime;
}
